<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    // {
    //     function test (n) {
    //         if (n < 0) return;
    //         console.log(n);
    //         return test(n - 1);
    //         console.log(n);
    //     }
    //     test(3);
    // }
    // {
    //     // let b = 1;
    //     function test(n) {
    //         if (n === 1) return 1;
    //         return n * test(n - 1);
    //     }
    //     let b = test(100000);
    //     console.log("b", b);
        
    // }
    // {
        // function test(n) {
        //     if(n === 1) return 1;
        //     return n * test(n - 1)
        // }
        // let b = test(10000);
        // console.log("b", b);
        // let total = 1;
        // --harmony_tailcalls
        "use strict"
        function test (n, total) {
            if (n === 1) return total;
            return test(n - 1, total * n);
        }
        // test(110000);
        let b = test(500000, 1);
        console.log(b);
        
    // }    
    </script>
</body>
</html>